/**
* \file IUDPSocket.h
* \brief IUDPSocket decleration class
* \author Edouard ROGE
* \date 04 Novembre 2013
*/
#ifndef _IUDPSOCKET_
#define _IUDPSOCKET_

#include "Core/Define/Define.h"

namespace Core
{
	namespace Network
	{
		class IUDPSocket
		{
		public:

			/**
			* \fn virtual void Send(void * _pBuffer, uint32 _iSize) = 0;
			* \brief Send data through the socket
			*/
			virtual void Send(void * _pBuffer, uint32 _iSize) = 0;

			/**
			* \fn virtual void Receive(void * _pBuffer, uint32 _iSize) = 0;
			* \brief Receive data through the socket
			*/
			virtual void Receive(void * _pBuffer, uint32 _iSize) = 0;

			/**
			* \fn void Close();
			* \brief Close socket
			*/
			virtual void Close() = 0;
		};
	}
}

#endif // _IUDPSOCKET_
